Понављање¶
У лекцији Низање корака, слагали смо блокове наредби и направили први програм у Scratch-у.
Колекција (низ) блокова који су међусобно повезани назива се скрипта. Скрипта може да садржи два и више блокова.
Блокови и њихов распоред у скрипти веома су важни, зато што одређују:
понашање ликова и њихов међусобни однос
однос са позадином позорнице.
- Након покретања, ова два програма даће различите резултате.
- Предлажемо ти да направиш овакве скрипте и видиш резултат њиховог извршавања.
- Након покретања, програми дају исти резултат, али је краћа скрипта елегантније решење.
- У праву си! Извршавањем краће скрипте добија се потпуно исти резултат као извршавањем дуже. Предлажемо ти да направиш ове скрипте и увериш се у резултат њиховог извршавања.
Q-13: Анализирај две скрипте приказане на слици и означи тачну тврдњу.
Посматрајући дужу скрипту, није тешко закључити да низање идентичних група блокова чини програм дужим, тежим за разумевање и надограђивање. Ако би требало променити угао за који лик скреће у десну страну, промена би морала да буде урађена на 4 места.
Блок из категорије Управљање очигледно помаже да се овакави проблеми превазиђу.
Програмери (људи који пишу програме) сматрају да је корисно коментарисати скрипте и објаснити шта одређени блокови раде. Коментарисањем олакшаваш другим програмерима да разумеју програме које ствараш, као и да их надограђују.
Коментар додајеш десним кликом на скрипту и одабиром опције „додајте коментар”.
У Scratch-у, на располагању имаш три врсте блокова за понављање. У њих се умећу блокови чије извршавање треба да се понови одређени број пута.
Блок који понавља наредбе тачно одређен број пута употребили смо у програму за исцртавање квадрата. Дакле, треба да га користиш када унапред знаш тачан број понављања (каже се и итерација).
Други блок за понављање извршава се бесконачан број пута. То је један од најчешће коришћених блокова у Scratch-у. Његово извршавање зауставља се кликом на дугме за престанак рада програма (црвено дугме поред зелене заставице), коришћењем блока , из категорије Управљање или постављањем блока из категорије Управљање.
- У блок се могу додати нови блокови, па не постоји разлог да се скрипта наставља.
- Могућност додавања нових блокова у блок **"понављај"** није разлог због кога овај блок не дозвољава наставак низања скрипти.
- У питању је грешка у програму Scratch. Блок за бесконачно понављање морао би да обезбеди наставак ређања скрипти.
- Колико је вероватно да је један од најкоришћенијих блокова у Scratch-у погрешно конципиран? Размисли још једном.
- Даље додавање блокова је бесмислено, зато што они никада не би били извршени.
- Одлично закључујеш!
Q-14: Пажљиво погледај изглед блокова за понављање. Уочаваш да блок за бесконачно понављање нема могућност повезивања са другим блоковима, тј. да се на њега не може додати ниједан блок. Зашто?
Трећа врста блокова за понављање извршава се све док не буде испуњен одређени услов. Скрипте унутар овог блока извршавају се на основу испитивања тачности услова који се у блок поставља. Овај блок треба да користиш када не знаш колико је пута потребно извршити скрипте унутар блока за понављање и зато желиш да се оне извршавају све док не буде испуњен одређени услов.
- Блок који понавља скрипте одређени број пута.
- Ако одабереш овај блок, испаљивање ракета нема никакве везе са нивоом енергије твог лика, зар не?
- Блок који понавља скрипте бесконачно.
- Ако одабереш овај блок, испаљивање ракета нема никакве везе са нивоом енергије твог лика, зар не?
- Блок који понавља скрипте све док не буде испуњен неки услов.
- Оног тренутка када ниво енергије твог лика падне испод одређене вредности, испаљивање ракета треба да се заустави.
Q-15: Желиш да направиш програм у коме твој лик испаљује ракете све док му ниво енергије не падне испод одређене вредности. Који блок за понављање треба да користиш?
Представљамо ти програм за цртање испрекидане линије:
Размисли и допуни горњу скрипту тако да корњача исцртава испрекидану линију у којој је свака од цртица различите боје.
Анализирај пројекат на адреси https://scratch.mit.edu/projects/171626325/ и погледај видео-лекцију Цртање испрекидане линије (различите боје цртица). Упореди своје решење са нашим.
Имамо за тебе још један задатак: помози маци да нацрта четири степеника дужине и висине по 50 корака.
Добро размисли, направи програм и упореди га са нашим https://scratch.mit.edu/projects/171626568/. Ако осећаш потребу, погледај видео-лекцију Цртање степеница.